home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
C64
/
T-TPUG Old Monthly Disks
/
(c)t5.d64
/
munchmath.c
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2009-10-10
|
4KB
|
144 lines
10 GOSUB 2000
100 POKE56,48:CLR:PRINT"[147]":SM=1073:CM=55345:L=1:BC=3
110 FORI=0TO27:POKE54272+I,0:NEXT:POKE54296,15:POKE54277,18:POKE54278,165
120 S$="":SF=54272:WV=54276
130 J$="9999999999999999999999":P=3:GOTO900
140 :
150 FORT=1TO300:NEXT:RETURN
160 FORT=1TO40:NEXT:RETURN
170 FORT=1TO90:NEXT:RETURN
180 :
190 D=VAL(AN$):IFASC(AN$)=81ANDPR>1THEN800
200 IFINT(D)<>INT(C)THEN230
210 P=P+1:R=R+1:M=M+1:SC=SC+10:POKESF,223:POKESF+1,29:POKEWV,17
220 FORT=1TO5:NEXT:POKEWV,16:GOTO700
230 M=M+1:W=W+1:PRINTLEFT$(S$,10)SPC(20-LEN(C$))""C" "
240 POKESF+1,8:POKESF,100:POKEWV,33:GOSUB150:POKEWV,32:GOTO720
250 :
260 POKESF+1,40:POKEWV,17
270 GOSUB160:POKEWV,16:GOSUB160:RETURN
280 :
290 PR=PR+1:A=INT(RND(1)*5*L)+1
300 B=INT(RND(1)*5*L)+1:IFB>ATHENA=A+B
310 E=INT(A*B):A$=STR$(A):B$=STR$(B)
320 IFQ=1THENC=A+B:X=43:GOTO360
330 IFQ=2THENC=A-B:X=45:GOTO360
340 IFQ=3THENC=A:GOTO410
350 C=E:X=88
360 C$=STR$(C):PRINTLEFT$(S$,7)SPC(20-LEN(A$))""A
370 PRINTLEFT$(S$,8)SPC(18-LEN(B$))" "CHR$(X)B"[146][157][157][157]999"
380 PRINTLEFT$(S$,10)SPC(19-LEN(C$)):GOSUB1230:IFAN$=""THEN380
390 D=VAL(AN$):GOTO190
400 :
410 PRINTLEFT$(S$,12)SPC(16)" "
420 PRINTLEFT$(S$,10)SPC(18)" "
430 PRINTLEFT$(S$,11)SPC(19)"7777":PRINTSPC(18)"8"
440 PRINTLEFT$(S$,12)SPC(18-LEN(B$))""B;E
450 PRINTLEFT$(S$,10)SPC(19-LEN(C$)):GOSUB1230:IFAN$=""THEN450
460 GOTO190
470 :
480 POKEWV,17:FORI=4TO33:POKESF+1,I:GOSUB160:NEXT:POKEWV,16
490 POKECM+P,2:GOSUB160:POKECM+P,5:GOSUB160
500 POKESF+1,14:POKEWV,33:POKESM+P,69:FORI=1TO230:NEXT
510 POKESM+P,64:FORI=1TO250:NEXT
520 POKESM+P,32:POKEWV,32:SC=SC-50:IFSC<0THENSC=0
530 L=L-1:IFL=0THENL=1
540 P=3:M=0:PRINT"[147]":GOTO1210
550 :
560 POKESM+M-1,32:FORI=1TO6:POKECM+M,3:POKESM+M,60:POKECM+P,5
570 POKESF+1,14:POKEWV,129
580 POKESM+P,62:GOSUB160:POKESM+P,58:POKECM+M,6:POKESM+M,61:GOSUB160
590 POKESM+M,32:POKESM+P,32:POKEWV,128:P=P-1:M=M-1:NEXT
600 FORI=12TO9STEP-1:POKECM+I,5:POKESM+I,62:POKECM+9,6:POKESM+9,60:GOSUB160
610 POKESF+1,14:POKEWV,129:POKECM+9,3:POKESM+I,58
620 GOSUB160:POKEWV,128:POKESM+I,32:NEXT
630 FORI=1TO5:PRINT""TAB(15)"** 100 **":POKESF+1,15:POKEWV,33
640 GOSUB150:POKEWV,32
650 PRINT""TAB(15)" ":GOSUB150:NEXT:L=L+1
660 SC=SC+100:P=3:M=0:BC=BC+1:IFBC>31THENBC=7
670 REM SETUP
680 POKE53280,BC:POKE53281,1:PRINT"[147]":PRINTLEFT$(S$,3)SPC(9)J$
690 POKE53272,28:PRINT""SPC(13)"[156]??????????????[211]"
700 POKESM+P-1,32:POKECM+P,5:POKESM+P,59:GOSUB150:POKESM+P,58
710 IFSM+P=SM+18THEN560
720 POKESM+M-1,32:POKECM+M,2:POKESM+M,61:GOSUB150:POKECM+M,6:POKESM+M,60
730 IFPEEK(SM+M)=PEEK(SM+P)THEN480
740 PRINTLEFT$(S$,16)SPC(16)"[159]LEVEL:"L""
750 PRINTLEFT$(S$,17)SPC(9)J$
760 PRINTLEFT$(S$,19)""SPC(12)N$"'S SCORE:"SC
770 PRINTLEFT$(S$,7)SPC(17)" ":PRINTSPC(17)" ":PRINTSPC(13)" "
780 GOTO290
790 :
800 POKE53272,21:POKE53280,6:POKE53281,7
810 PRINT"[147]"SPC(13-LEN(N$)/2)N$"'S SCOREBOARD"
820 PRINTSPC(14)"PROBLEMS:"PR-1
830 PRINTSPC(12)"RIGHT ANSWERS:"R:PRINTSPC(12)"WRONG ANSWERS:"W
840 PRINTSPC(14)"[144]GRADE:"INT(R/(PR-1)*100)"%"
850 PRINTSPC(12)"PLAY AGAIN (Y/N)?":POKE198,0
860 GETA$:IFA$<>"Y"ANDA$<>"N"THEN860
870 IFA$="Y"THENPR=0:R=0:W=0:SC=0:GOTO1100
880 END
890 :
900 FORF=55TO63:FORI=0TO7:READA:POKEF*8+I+12288,A:NEXT:NEXT
910 FORI=0TO7:POKE32*8+I+12288,0:NEXT
920 :
930 POKE53281,2:POKE53281,7
940 PRINTLEFT$(S$,10)SPC(11)"M U N C [144]H M A T H"
950 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251:Z=13312:Y=53248
960 FORI=0TO519:POKEI+Z,PEEK(I+Y):NEXT:FORI=664TO671:POKEI+Z,PEEK(I+Y):NEXT
970 POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1
980 POKE53272,28:PRINTLEFT$(S$,10)SPC(11)"M U N C [144]H M A T H"
990 :
1000 READF,G:IFF=-1THEN1040
1010 POKESF+1,F:POKESF,G:POKEWV,33:GOSUB160:POKEWV,32:GOSUB160
1020 GOTO1000
1030 :
1040 GOSUB150:FORI=4TO24:PRINTLEFT$(S$,10)SPC(I)" [159]= < :";:GOSUB170
1050 PRINTLEFT$(S$,10)SPC(I)" <[156]= ;"
1060 POKESF,195:POKESF+1,17:POKEWV,17:GOSUB170:POKEWV,16:NEXT
1070 PRINTLEFT$(S$,10)SPC(24)" "
1080 POKE53280,5:POKE53281,7:POKE53272,21
1090 PRINT"[147]"SPC(8)"WHAT IS YOUR NAME";:GOSUB260:INPUTN$
1100 PRINT"[147]"SPC(13)"WHAT WOULD YOU":GOSUB260
1110 PRINTSPC(11)"LIKE TO PRACTICE,":GOSUB260
1120 PRINTSPC(20-LEN(N$)/2)N$":":GOSUB260
1130 PRINTSPC(14)"1)ADDITION":GOSUB260
1140 PRINTSPC(14)"2)SUBTRACTION":GOSUB260
1150 PRINTSPC(14)"3)DIVISION":GOSUB260
1160 PRINTSPC(14)"4)MULTIPLICATION":GOSUB260
1170 GETA$:Q=VAL(A$):IFQ<1ORQ>4THEN1170
1180 PRINTLEFT$(S$,Q*2+10)SPC(14)""MID$(STR$(Q),2)
1190 PRINTLEFT$(S$,20)SPC(14)"LEVEL (1-9)?"
1200 GETA$:L=VAL(A$):IFL<1ORL>9THEN1200
1210 GOTO680
1220 :
1230 PRINT"? ";:AN$="":POKE198,0
1240 GETZA$:IFZA$=""THEN1240
1250 ZL=LEN(AN$):IFZA$=CHR$(20)ANDZLTHENPRINTZA$;:AN$=LEFT$(AN$,ZL-1)
1260 IFZA$=CHR$(13)THENPRINT:RETURN
1270 IFZA$<>"Q"AND(ZA$<"0"ORZA$>"9")ORZL=5THEN1240
1280 PRINTZA$;:AN$=AN$+ZA$:GOTO1240
1290 :
1300 DATA 0,0,0,0,0,0,255,255
1310 DATA 3,3,3,3,3,3,3,3
1320 DATA 0,0,255,255,255,255,0,0
1330 DATA 24,60,110,126,126,126,60,24
1340 DATA 56,124,95,248,224,248,127,56
1350 DATA 60,126,255,219,255,255,169,169
1360 DATA 60,126,255,219,255,255,90,180
1370 DATA 120,116,30,14,30,124,120,0
1380 DATA 0,0,0,14,14,14,0,0
1390 :
1400 DATA 16,195,22,96,28,49,33,125,33,125,33,125,33,125
1410 DATA 28,49,28,49,28,49,22,96,28,49,22,96,16,195,-1,0
2000 POKE53281,0:PRINT"[147]":PRINT""
2010 PRINT" "
2020 PRINT" "
2030 PRINT" SUBMITTED TO TPUG FROM"
2040 PRINT" EFRAIM HALFON, # 3578"
2050 PRINT" 4081 STEPHANIE ST"
2060 PRINT" BURLINGTON, ONTARIO"
2070 PRINT" L7L 1W9 "
2080 FOR J=0TO70:FORK=0TO15
2090 POKE53280,K:NEXT K,J: RETURN